import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// antd 自动引入
import Components from 'unplugin-vue-components/vite';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
// 自动加载Vue相关组合Api unplugin-auto-import
import AutoImport from 'unplugin-auto-import/vite'
// resolve
import { resolve } from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),

    // 全局引入vue相关api
    AutoImport({
      imports: ["vue", "vue-router", 'pinia'],
      dts: 'src/types/auto-import.d.ts',   // 路径下自动生成文件夹存放全局指令
    }),

    // antd自定义组件的全局引用
    Components({
      resolvers: [
        AntDesignVueResolver({
          importStyle: false, // css in jss
        }),
      ],
    }),
  ],
  // 路径快捷引用
  resolve: {
    alias: {
      '@': resolve(__dirname, 'src'), // 路径别名
      '/&': './src/assets/' // 其他路径别名-图片 
    },
    extensions: ['.js', '.json', '.ts', '.vue'] // 使用路径别名时想要省略的后缀名，可以自己 增减
  },
  server: {
    // https://jsonplaceholder.typicode.com/posts
    // port: 4001,
    open: true, //自动打开
    proxy: { // 本地开发环境通过代理实现跨域，生产环境使用 nginx 转发
      '/jsonApi': {
        target: 'https://jsonplaceholder.typicode.com/',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/jsonApi/, '')
      },
      '/getH': {
        target: 'http://127.0.0.1:8000/',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/getH/, '')
      },

    }
  },

})
